iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
佛心分享-IT 人自學之術

靠近 ASP .NET Core 一點點系列 第 5

Day 5 專案中的Nuget套件 : 看似日常的套件庫也扮演非常重要地位

  • 分享至 

  • xImage
  •  

引言
還記得以前接觸專案,對於 Nuget 套件印象就是功能需要用到它,下載進專案內引用,到了之後知道也可以自己寫套件發布上去,但其實 Nuget 套件在一個專案內,好好管理真的非常重要,對於版本是否更新,對於專案使用哪一個套件,了解後都會對此非常清楚無比

分享主軸

本篇重點會分成兩天 (第五天與第六天)做分享 :

  • 先繼續分享昨天為講完的部分 : 針對 global.json 一些其他可以做的設定
  • 了解本地開發環境上 NuGet 套件資源與來源
  • 如何正確管理與自訂 NuGet 套件
  • 也可以自己開發出 NuGet 套件

global.json 其他設定
若執行 dotnet build 指令時,如果遇到錯誤,可以先執行 dotnet --info 指令來檢查當前使用的 .NET SDK 版本。這個指令會檢查當前路徑及其父目錄中是否存在 global.json 文件,並顯示當前使用的 SDK 版本,如下圖,表示此路徑下沒有任何 global.json 檔案
https://ithelp.ithome.com.tw/upload/images/20240918/20133954i0sVROAZpx.png
補充 :

  1. global.json 不一定要放在與專案同個路徑下,若不存在就會往這路徑上一層找,一直找到路徑最外層為止 (最上層根目錄)。
  2. 如果專案上有 global.json ,該專案路徑最上層根目錄內也有,那專案吃的 SDK 版本就會是離專案最近的,也就是在專案內的那個 global.json 內的 SDK 版本。

本地 NuGet 套件資源
開發前,可以透過指令先列出已安裝的 NuGet 套件,通常放在路徑 C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

 dir "C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\"

查看本地預設好的套件來源

dotnet nuget list source
  1. 通常會看到兩種,如下圖
    https://ithelp.ithome.com.tw/upload/images/20240918/20133954S6w7oBZ5xQ.png
  • nuget.org : 是線上來源,通常從這裡下載外部依賴
  • Microsoft Visual Studio Offline Packages : 是離線包,存放在本機目錄中,目的是在沒有網路連接或網路不穩定的情況下,能加速依賴的使用,避免每次都從網路下載 (這些離線包是預先下載並存放在本地的,通常位於 Visual Studio 安裝目錄中的特定文件夾內,例如 C:\Program Files (x86)\Microsoft SDKs\NuGetPackages)
  1. Nuget 套件預設來源有三種,如下圖
    https://ithelp.ithome.com.tw/upload/images/20240918/20133954KNtUn0xlau.png

  2. 管理與自訂 NuGet 套件來源
    如果需要停用某些預設的套件來源,可以進入 Visual Studio 的 NuGet 套件管理設定,取消勾選相關來源,如下圖。
    https://ithelp.ithome.com.tw/upload/images/20240918/20133954Zh8ux5uGX9.png

https://ithelp.ithome.com.tw/upload/images/20240919/20133954XWMVeiC6Ah.png

簡單統整今日重點

  1. 了解如何管理自己專案上的套件
  2. 了解套件來源的種類與代表意思

今日結語
NuGet 套件看似最常見且不太起眼,卻真的非常重要,對於開發上真的可以更清楚,還記得有次開發新專案,我拉取下來的專案一直無法建置成功,套件一直顯示讀不到的錯誤,最後才查到是因為在管理來源那邊,預設跑到抓到別的來源,非此專案需要用到的來源。

明天會針對如何創建套件進行分享介紹,希望今天有幫助到大家,明天繼續努力!


上一篇
Day 4 避免版本地獄:如何用 global.json 管理 .NET SDK
下一篇
Day 6 從零開始:如何自建 NuGet 套件庫並應用於專案
系列文
靠近 ASP .NET Core 一點點27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言